package cn.tedu.luban.worker.main.repository;

import cn.tedu.luban.worker.protocol.bo.AdminWorkerBO;
import cn.tedu.luban.worker.protocol.bo.FrontWorkerBO;
import cn.tedu.luban.worker.protocol.param.WorkerRegistParam;
import cn.tedu.luban.worker.protocol.param.WorkerParam;
import cn.tedu.luban.worker.protocol.query.WorkerListQuery;
import java.util.List;

public interface WorkerRepository {

    void delete(Long userId);

    Long saveWorker(WorkerRegistParam param);

    List<AdminWorkerBO> queryWorkers(WorkerListQuery query);

    AdminWorkerBO getWorker(Long userId);

    void updateAuditStatus(WorkerParam param);

    Integer enable(Long id);

    Integer disable(Long id);

    FrontWorkerBO getFrontWorker(Long id);

    Long countWorker(WorkerListQuery query);

    void updateCertStatus(WorkerParam param);
}
